Technical Field
Embodiments generally relate to electronic circuits and, more specifically, to circuits equipped with volatile memories, be they temporary storage RAMs or processing unit execution stacks.
Embodiments more specifically relate to the protection of such volatile storage elements against virus attacks.
Description of the Related Art
Whether in a RAM where a program is stored for execution or in a dynamic processing unit stack where the instructions are successively placed for the execution of this program, the corresponding memory areas are particularly sensitive to virus-type attacks.
Two main categories of viruses are known.
Viruses of a first category take the place of the program, that is, modify the opcodes (and sometimes also the arguments) of some instructions so that the program carries out another task than that for which it is initially provided.
Viruses of a second category can be considered as external to the executed program and have the function of modifying the data, that is, the values of the arguments manipulated by the legitimate program, especially when said arguments are stored in the program execution stack.
Countermeasures which affect rights of writing, reading, or execution on files or memory areas are known. Thus, if a virus attempts to carry out a forbidden action of the concerned memory area, it is not allowed to do it. However, such measures are often considered as insufficient. In particular, an area where it is usual to execute a program is accessible in write and in execution mode. A virus can thus replace, in this area, a program or a program portion and execute it. Similarly, a virus can modify the data contained in the execution stack.